﻿/*
整数模 
Time Limit:1000MS  Memory Limit:32768K


Description:
a除以m的余数称为a对于m的模。求ap对于m的模。

Input:
输入数据中含有一些数据组，每个数据组占一行，包括a、p、m（0＜a,p＜2^32，1≤m＜2^16）三个整数，
若三个数都为0，则表示输入结束。 
Output:
针对每组数据，输出a的p次幂对于m的模，每个结果占一行。 
Sample Input:
3 18132 17
0 0 0
Sample Output:
13
*/
#include <stdio.h>

int main()
{
	for (unsigned a, b, c; EOF != scanf("%u%u%u", &a, &b, &c) && (a || b || c);)
	{
		unsigned long temp = a%c;
		unsigned long rem =1UL;
		while (b)
		{
			if(b&0x1UL)
				rem=(rem*temp)%c;
			temp=temp*temp%c;				
			b>>=1;
		}
		printf("%u\n", rem%c);
	}
	
	return 0;
}